package com.pro.common.api.pay.intf;

import com.pro.common.api.model.request.pay.PaymentNotifyData;
import com.pro.common.api.model.request.pay.PaymentResponse;
import com.pro.common.api.model.request.pay.PaymentUserDetail;
import com.pro.common.api.pay.model.db.PayMerchant;
import com.pro.common.api.pay.model.dto.PaymentParamDTO;
import io.swagger.v3.oas.annotations.media.Schema;

@Schema(description = "代收服务")
public interface IPaymentService {
    String getMerchantPlatform();

    @Schema(description = "代收发起")
    PaymentResponse payment(PaymentParamDTO dto, PaymentUserDetail userDetail, PayMerchant payMerchant) ;

    @Schema(description = "代收回调验证并读取信息")
    PaymentNotifyData paymentNotifyRead(String params, PayMerchant payMerchant);

    @Schema(description = "代收回调返回")
    Object paymentNotifyReturn(Boolean endSuccess);
}
